Explicit Object-Oriented Program Representation for Effective Software Maintenance
نویسنده
چکیده
Today, object-oriented (OO) technology is a de facto approach in software development and several OO software applications are presently in use. For these systems to remain useful, they have to be effectively and efficiently maintained. As changes are both important and risky, Change impact analysis (CIA) is used to preserve the quality of the software system. OO software have complex dependencies and change types that often affect their maintenance in terms of ripple-effects identification or may likely introduce some faults which are hard to detect. Existing CIA proffers little or no clear information to represent the software for effective change impact prediction and components’ fault-proneness is not considered. Consequently, changes made where dependencies and fault-proneness are not understood may have some undesirable effects elsewhere in the system or may increase its risks to fail. Therefore, this paper proposes an approach called OO Component Dependency Networks (OOComDN) which explicitly represent the software and allow its structural complexity to be quantified using complex networks. The objective is to enhance static CIA and facilitate program comprehension. To assess the effectiveness, a controlled experiment was conducted using students’ project with respect to maintenance duration and correctness. The results obtained were significant, indicating OOComDN is practicable for impact analysis.
منابع مشابه
A Dependence-Based Representation for Concurrent Object-Oriented Software Maintenance
Software maintenance is a costly process because of the reason that each modi cation to a program must take into account many complex dependence relationships in the existing software. An understanding of program dependences is therefore an inevitable step to e cient software change. In this paper we propose a dependence-based representation named the system dependence net (SDN), which extends ...
متن کاملA Framework for Effective Object-Oriented Software Change Impact Analysis
Object-oriented (OO) software have complex dependencies and different change types which frequently affect their maintenance in terms of ripple-effects identification or may likely introduce some faults which are hard to detect. As change is both important and risky, change impact analysis (CIA) is a technique used to preserve the quality of the software system. Several CIA techniques exist but...
متن کاملExplicit Domain Knowledge in Software Engineering
This research is about making knowledge about the domain of software applications explicit and separating it from other concerns of the software, thus enhancing software understandability, software maintenance, and software reuse. To achieve this we use existing knowledge representation technologies from AI in state-of-the-art software engineering. Our approach is not unlike the principles Aspe...
متن کاملImproving Program Comprehension of Object-oriented Software Systems with Object-oriented Documentation
Object-oriented programming has brought many advantages to the software engineering community. Especially, the reuse of existing software components and application frameworks has improved the productivity in software development considerably. Now, the object-oriented programming paradigm has advanced in years and increasingly object-oriented software systems have to be maintained. Program comp...
متن کاملUsing Visualization to Foster Object-Oriented Program Understanding
Software development and maintenance tasks rely on and can beneet from an increased level of program understanding. Object-oriented programming languages provide features which facilitate software maintenance, yet the same features often make object-oriented programs more diicult to understand. We support the use of program visualization techniques to foster object-oriented program comprehensio...
متن کامل